package com.jrx.anytxn.param.dto.account;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * @Classname VoucherRuleTableRes
 * @Description
 * @Date 2019/7/5 0005 下午 13:57
 * @author by yf
 */
@ApiModel(description = "会计分录拆分规则表VoucherRuleTableRes")
class VoucherRuleTableRes implements Serializable {

    private static final long serialVersionUID = 590390000117721467L;
    /**
     * 自增主键
     * 表字段:id
     */
    @ApiModelProperty(value = "主键id", name = "id")
    private Long id;

    /**
     * 交易码
     * 表字段:transaction_code
     */
    @ApiModelProperty(value = "交易码", name = "transactionCode")
    private String transactionCode;

    /**
     * 机构号
     * 表字段:organization_id
     */
    @ApiModelProperty(value = "机构号", name = "organizationId")
    private String organizationId;

    /**
     * 产品ID
     * 表字段:product_id
     */
    @ApiModelProperty(value = "产品ID", name = "productId")
    private String productId;

    /**
     * 渠道
     * 表字段:channel
     */
    @ApiModelProperty(value = "渠道", name = "channel")
    private String channel;

    /**
     * 五级分类(0=正常，1=关注，2=次级，3=可疑，4=损失)
     * 表字段:loan_classify
     */
    @ApiModelProperty(value = "五级分类(0=正常，1=关注，2=次级，3=可疑，4=损失)", name = "loanClassify")
    private String loanClassify;

    /**
     * 表内表外类别
     * 表字段:category
     */
    @ApiModelProperty(value = "表内表外类别", name = "category")
    private String category;

    /**
     * 预留
     * 表字段:reserve_attribute1
     */
    @ApiModelProperty(value = "预留", name = "reserveAttribute1")
    private String reserveAttribute1;

    /**
     * 借记科目
     * 表字段:debit_subject
     */
    @ApiModelProperty(value = "借记科目", name = "debitSubject")
    private String debitSubject;

    /**
     * 贷记科目
     * 表字段:credit_subject
     */
    @ApiModelProperty(value = "贷记科目", name = "creditSubject")
    private String creditSubject;

    /**
     * 创建时间
     * 表字段:create_time
     */
    @ApiModelProperty(value = "创建时间", name = "createTime")
    private Date createTime;

    /**
     * 修改时间
     * 表字段:update_time
     */
    @ApiModelProperty(value = "修改时间", name = "updateTime")
    private Date updateTime;

    /**
     * 修改人
     * 表字段:update_by
     */
    @ApiModelProperty(value = "修改人", name = "updateBy")
    private String updateBy;


    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    @ApiModelProperty(value = "记录版本号", name = "recordVersionNumber")
    private Integer recordVersionNumber;

    /**
     * 获取自增主键
     *
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     *
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取交易码
     *
     * @return transactionCode String
     */
    public String getTransactionCode() {
        return transactionCode;
    }

    /**
     * 设置交易码
     *
     * @param transactionCode 交易码
     */
    public void setTransactionCode(String transactionCode) {
        this.transactionCode = transactionCode;
    }

    /**
     * 获取机构号
     *
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     *
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取产品ID
     *
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品ID
     *
     * @param productId 产品ID
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取渠道
     *
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道
     *
     * @param channel 渠道
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取五级分类(0=正常，1=关注，2=次级，3=可疑，4=损失)
     *
     * @return loanClassify String
     */
    public String getLoanClassify() {
        return loanClassify;
    }

    /**
     * 设置五级分类(0=正常，1=关注，2=次级，3=可疑，4=损失)
     *
     * @param loanClassify 五级分类(0=正常，1=关注，2=次级，3=可疑，4=损失)
     */
    public void setLoanClassify(String loanClassify) {
        this.loanClassify = loanClassify;
    }

    /**
     * 获取表内表外类别
     *
     * @return category String
     */
    public String getCategory() {
        return category;
    }

    /**
     * 设置表内表外类别
     *
     * @param category 表内表外类别
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 获取预留
     *
     * @return reserveAttribute1 String
     */
    public String getReserveAttribute1() {
        return reserveAttribute1;
    }

    /**
     * 设置预留
     *
     * @param reserveAttribute1 预留
     */
    public void setReserveAttribute1(String reserveAttribute1) {
        this.reserveAttribute1 = reserveAttribute1;
    }

    /**
     * 获取借记科目
     *
     * @return debitSubject String
     */
    public String getDebitSubject() {
        return debitSubject;
    }

    /**
     * 设置借记科目
     *
     * @param debitSubject 借记科目
     */
    public void setDebitSubject(String debitSubject) {
        this.debitSubject = debitSubject;
    }

    /**
     * 获取贷记科目
     *
     * @return creditSubject String
     */
    public String getCreditSubject() {
        return creditSubject;
    }

    /**
     * 设置贷记科目
     *
     * @param creditSubject 贷记科目
     */
    public void setCreditSubject(String creditSubject) {
        this.creditSubject = creditSubject;
    }

    /**
     * 获取创建时间
     *
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取修改时间
     *
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置修改时间
     *
     * @param updateTime 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取修改人
     *
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置修改人
     *
     * @param updateBy 修改人
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }


    /**
     * 获取记录版本号
     *
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     *
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    @Override
    public String toString() {
        return "VoucherRuleTableRes{" + "id=" + id + ", transactionCode='" + transactionCode + '\'' + ", organizationId='" + organizationId + '\'' + ", productId='" + productId + '\'' + ", channel='" + channel + '\'' + ", loanClassify='" + loanClassify + '\'' + ", category='" + category + '\'' + ", reserveAttribute1='" + reserveAttribute1 + '\'' + ", debitSubject='" + debitSubject + '\'' + ", creditSubject='" + creditSubject + '\'' + ", createTime=" + createTime + ", updateTime=" + updateTime + ", updateBy='" + updateBy + '\'' + ", recordVersionNumber=" + recordVersionNumber + '}';
    }
}
